import axios from '@/utils/request'

/*  获取栏目列表
*   url 接口路径
*   size 每页显示多少条
*   page 当前页
*/
export const getArtColumn = (url: string, data: object = {}): any => {
    return new Promise((resolve, reject) => {
        axios.get(url, { params: data })
            .then(response => {
                resolve(response.data); // 成功时解析Promise并传递数据
            })
            .catch(error => {
                reject(error); // 失败时拒绝Promise并传递错误信息
            })
    })
}

/*  添加栏目
*   url 接口路径
*   name 标题
*   sort 排序
*   is_show 是否显示，0显示，1不显示
*/
export const artColumnAdd = (url: string, data: object = {}): any => {
    return new Promise((resolve, reject) => {
        axios.post(url, data)
            .then(response => {
                resolve(response.data); // 成功时解析Promise并传递数据
            })
            .catch(error => {
                reject(error); // 失败时拒绝Promise并传递错误信息
            })
    })
}


/*  添加栏目
*   url 接口路径
*   id 
*/
export const artColumnEdit = (url: string, data: object = {}): any => {
    return new Promise((resolve, reject) => {
        axios.post(url, data)
            .then(response => {
                resolve(response.data); // 成功时解析Promise并传递数据
            })
            .catch(error => {
                reject(error); // 失败时拒绝Promise并传递错误信息
            })
    })
}

/*  删除栏目
*   url 接口路径
*   id 
*/
export const artColumnDel = (url: string, data: object = {}): any => {
    return new Promise((resolve, reject) => {
        axios.post(url, data)
            .then(response => {
                resolve(response.data); // 成功时解析Promise并传递数据
            })
            .catch(error => {
                reject(error); // 失败时拒绝Promise并传递错误信息
            })
    })
}

/*  开启栏目
*   url 接口路径
*   id 
*/
export const artColumnIsShow = (url: string, data: object = {}): any => {
    return new Promise((resolve, reject) => {
        axios.post(url, data)
            .then(response => {
                resolve(response.data); // 成功时解析Promise并传递数据
            })
            .catch(error => {
                reject(error); // 失败时拒绝Promise并传递错误信息
            })
    })
}

/*  获取文章列表
*   url 接口路径
*/
export const artList = (url: string, data: object = {}): any => {
    return new Promise((resolve, reject) => {
        axios.get(url, {params: data})
            .then(response => {
                resolve(response.data); // 成功时解析Promise并传递数据
            })
            .catch(error => {
                reject(error); // 失败时拒绝Promise并传递错误信息
            })
    })
}

/*  添加文章列表
*   url 接口路径
*   ac_id 栏目id
*   name 标题
*   content 内容
*   is_show 是否显示。0显示，1不显示
*   sort 排序
*/
export const artAdd = (url: string, data: object = {}): any => {
    return new Promise((resolve, reject) => {
        axios.post(url, data)
            .then(response => {
                resolve(response.data); // 成功时解析Promise并传递数据
            })
            .catch(error => {
                reject(error); // 失败时拒绝Promise并传递错误信息
            })
    })
}

/*  编辑文章列表
*   url 接口路径
*   id 文章id
*   ac_id 栏目id
*   name 标题
*   content 内容
*   is_show 是否显示。0显示，1不显示
*   sort 排序
*/
export const artEdit = (url: string, data: object = {}): any => {
    return new Promise((resolve, reject) => {
        axios.post(url, data)
            .then(response => {
                resolve(response.data); // 成功时解析Promise并传递数据
            })
            .catch(error => {
                reject(error); // 失败时拒绝Promise并传递错误信息
            })
    })
}

/*  删除文章列表
*   url 接口路径
*   id 文章id
*/
export const artDel = (url: string, data: object = {}): any => {
    return new Promise((resolve, reject) => {
        axios.post(url, data)
            .then(response => {
                resolve(response.data); // 成功时解析Promise并传递数据
            })
            .catch(error => {
                reject(error); // 失败时拒绝Promise并传递错误信息
            })
    })
}

/*  开启文章
*   url 接口路径
*   id 
*/
export const artIsShow = (url: string, data: object = {}): any => {
    return new Promise((resolve, reject) => {
        axios.post(url, data)
            .then(response => {
                resolve(response.data); // 成功时解析Promise并传递数据
            })
            .catch(error => {
                reject(error); // 失败时拒绝Promise并传递错误信息
            })
    })
}

/*  上传多图
*   url 接口路径
*   id 
*/
export const uploadMultiple = (url: string, data: object = {}): any => {
    return new Promise((resolve, reject) => {
        axios.post(url, data, {
            headers:{
                'Content-Type': 'multipart/form-data'
            }
        })
            .then(response => {
                resolve(response.data); // 成功时解析Promise并传递数据
            })
            .catch(error => {
                reject(error); // 失败时拒绝Promise并传递错误信息
            })
    })
}